package com.lngsyz.ywtb.base;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**  
 * Description: BaseService接口
 * Created by yangbk on 2020/10/27.
 */
public interface BaseService <Record,ID extends Serializable> {

	/**
     * 查询全部记录
     * @param id
     * @return
     */
	List<Record> find();

	/**
     * 根据条件查询记录
     * @param id
     * @return
     */
	List<Record> find(Map<String, Object> map);

	/**
     * 根据主键列表查询记录
     * @param ids
     * @return
     */
	List<Record> find(List<String> ids);

	/**
     * 根据主键查询记录
     * @param id
     * @return
     */
	Record find(ID id);

	/**
     * 插入记录
     * @param record
     * @return
     */
    boolean insert(Record record);
	
    /**
     * 批量插入记录
     * @param record
     * @return
     */
	boolean insert(List<Record> record);

	/**
     * 更新记录
     * @param id
     * @return
     */
	boolean update(Record record);

	/**
     * 批量更新记录
     * @param id
     * @return
     */
	boolean update(List<Record> record);

	/**
     * 删除记录
     * @param id
     * @return
     */
	boolean delete(Map<String, Object> map);

	/**
     * 批量删除记录
     * @param id
     * @return
     */
	boolean delete(List<String> ids);
}
